using Common.Communal;
using MediatR;
using System;

namespace Product.API.Write.Applications.Commands.Process
{
    /// <summary>
    /// 工序修改命令
    /// </summary>
    public class UpdateProcessCommand : IRequest<ApiResult<int>>
    {
        /// <summary>
        /// 自增主键ID
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 工序编号（GUID）
        /// </summary>
        public Guid ProcessNumber { get; set; } = Guid.NewGuid();

        /// <summary>
        /// 序号
        /// </summary>
        public string SerialNumber { get; set; }

        /// <summary>
        /// 工序名称
        /// </summary>
        public string ProcessName { get; set; }

        /// <summary>
        /// 下一道工序
        /// </summary>
        public string NextProcess { get; set; }

        /// <summary>
        /// 工序关系
        /// </summary>
        public string Relationship { get; set; }

        /// <summary>
        /// 是否关键工序
        /// </summary>
        public bool IsCriticalProcess { get; set; } = false;

        /// <summary>
        /// 准备时间（分钟）
        /// </summary>
        public int? PreparationTime { get; set; }

        /// <summary>
        /// 等待时间（分钟）
        /// </summary>
        public int? WaitingTime { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; }

        /// <summary>
        /// 工艺路线编号（外键）
        /// </summary>
        public Guid? ProcessRouteNumber { get; set; }
    }
}


